package com.jinzhi.jzweb.service.moduleConfig.impl;


import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.dao.moduleConfig.JzJinzhuanModuleContentMapper;
import com.jinzhi.jzweb.pojo.ModuleConfig.JzJinzhuanDispositionTopic;
import com.jinzhi.jzweb.pojo.ModuleConfig.JzJinzhuanModuleContent;
import com.jinzhi.jzweb.pojo.ModuleConfig.JzJinzhuanModuleDetail;
import com.jinzhi.jzweb.service.moduleConfig.JzJinzhuanModuleContentService;
import com.jinzhi.jzweb.service.moduleConfig.JzJinzhuanModuleDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 *  任务详情实现类
 * </p>
 * @author JingChangTian
 * @since 2023-06-16
 */
@Service
public class JzJinzhuanModuleContentImpl extends ServiceImpl<JzJinzhuanModuleContentMapper, JzJinzhuanModuleContent> implements JzJinzhuanModuleContentService {

    @Autowired
    private  JzJinzhuanModuleContentMapper  jzJinzhuanModuleContentMapper;

    @Autowired
    private JzJinzhuanModuleContentService jzJinzhuanModuleContentService;


    @Autowired
    private JzJinzhuanModuleDetailService jzJinzhuanModuleDetailService;

//    @Override
//    public  JzJinzhuanModuleContent getModuleContent(JzJinzhuanModuleContent jzJinzhuanModuleContent) {
//        return jzJinzhuanModuleContentMapper.getModuleContent(jzJinzhuanModuleContent);
//    }

    @Override
    public Result updateModuleContentById(JzJinzhuanModuleContent jzJinzhuanModuleContent) {
        return Result.ok(jzJinzhuanModuleContentMapper.updateById(jzJinzhuanModuleContent));
    }

    @Override
    public Page<JzJinzhuanModuleDetail> getModuleContentList(JzJinzhuanModuleDetail jzJinzhuanModuleDetail) {
        ArrayList<JzJinzhuanModuleContent> list = new ArrayList<>();
        // 新建分页
        Page<JzJinzhuanModuleDetail> page = new Page<JzJinzhuanModuleDetail>(jzJinzhuanModuleDetail.getCurrent(),jzJinzhuanModuleDetail.getNumber());
        List<JzJinzhuanModuleDetail> moduleContentList = jzJinzhuanModuleContentMapper.getModuleContentList(page, jzJinzhuanModuleDetail);
        for (int i = 0;i<moduleContentList.size();i++){
            Wrapper wrapper = new EntityWrapper();
            wrapper.eq("module_content_id",moduleContentList.get(i).getId());
            List list1 = jzJinzhuanModuleContentService.selectList(wrapper);
            moduleContentList.get(i).setJzJinzhuanModuleContent(list1);
        }

        return page.setRecords(moduleContentList);
    }

    @Override
    public boolean deleteModuleContentById(List<Long> ids) {
        //删除模块细则
        ids.forEach(a ->{
            jzJinzhuanModuleContentMapper.delete(new EntityWrapper<JzJinzhuanModuleContent>().eq("module_content_id",a));
        });
        //删除细则模板
        return jzJinzhuanModuleDetailService.deleteBatchIds(ids);
    }
}
